package org.edu.modules.stu.base.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.math.BigDecimal;

/**
 * @Author lbh
 * @Date 2025/3/13 上午11:56
 * @Version 1.0
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "学籍导出对象", description = "学籍导出对象")
public class VeXueJiExportDto {

    //    序号VeXueJiExcelDto
    @Excel(name = "序号", width = 20)
    @ExcelProperty("序号")
    private Integer sortNum;
    @ExcelProperty("年级")
    @Excel(name = "年级", width = 20)
    private String grade;
    @ExcelProperty("系/部")
    @Excel(name = "系/部", width = 20)
    private String fal;

    /**专业名称传入，保存专业id*/
    @ExcelProperty("专业名称")
    @Excel(name = "专业名称", width = 20)
    private String spec;

    /**
     * 班级代号传入，保存班级id
     */
    @ExcelProperty("班级")
    @Excel(name = "班级", width = 20)
    private String bj;
    /**
     * 用户学号
     */
    @ExcelProperty("用户学号")
    @Excel(name = "用户学号", width = 20)
    private String xh;
    /**
     * 姓名
     */
    @ExcelProperty("姓名")
    @Excel(name = "姓名", width = 20)
    private String xm;


    /**
     * 学籍状态：有、无、全部
     */
    @ExcelProperty("学籍状态")
    @Excel(name = "学籍状态", width = 20, dicCode = " YWXJ")
    private String ywxj;


    /**
     * 是否在校：是、否
     */
    @ExcelProperty("是否在校")
    @Excel(name = "是否在校", width = 20, dicCode = "SFZX")
    private String sfzx;

    /**
     * 学制，与学制表关联
     */
    @ExcelProperty("学制")
    @Excel(name = "学制", width = 20)
    private String xz;

    /**
     * 姓名拼音
     */
    @ExcelProperty("姓名拼音")
    @Excel(name = "姓名拼音", width = 20)
    private String xmpy;

    /**
     * 英文名
     */
    @ExcelProperty("英文名")
    @Excel(name = "英文名", width = 20)
    private String ywm;

    /**
     * 性别（1：男 2：女）
     */
    @ExcelProperty("性别")
    @Excel(name = "性别", width = 20, dicCode = "sex")
    private String xbm;


    /**
     * 身份证件类型 （数据字典）
     */
    @ExcelProperty("身份证件类型")
    @Excel(name = "身份证件类型", width = 20, dicCode = "SFZJLXM")
    //@Dict(dicCode = "modelCode='SFZJLX' and code", dicText = "title", dictTable = "ve_dict_dictdata")
    private String sfzjlxm;
    /**
     * 身份证件号
     */
    @ExcelProperty("身份证件号")
    @Excel(name = "身份证件号", width = 20)
    private String sfzh;

    /**
     * 出生日期，格式2005-12-20
     */
    @ExcelProperty("出生日期")
    @Excel(name = "出生日期", width = 20)
    private String csrq;
    /**民族*/
    @ExcelProperty("民族")
    @Excel(name = "民族", width = 20, dicCode = "nation")
    private String mzm;

    /**
     * 入学文化程度,字典表获取（初中毕业、高中毕业...）
     */
    @ExcelProperty("入学文化程度")
    @Excel(name = "入学文化程度", width = 20, dicCode = "RXWHCD")
    private String rxwhcd;

    /**
     * 入学日期2005-12-20
     */
    //    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    //    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty("入学日期")
    @Excel(name = "入学日期", width = 20)
    private String rxrq;
    ;
    /**
     * 学生类别， 字典数据：普通专科生，成人专科生，网络专科生，普通本科生，
     * 成人本科生，网络本科生，硕士研究生，博士研究生，学士学位学生，
     * 硕士学位学生，博士学位学生，辅修二专业，预科生
     */
    @ExcelProperty("学生类别")
    @Excel(name = "学生类别", width = 20, dicCode = "XSLB")
    private String xslb;

    /**
     * 学习形式,全日制
     */
    @ExcelProperty("学习形式")
    @Excel(name = "学习形式", width = 20, dicCode = "XXXS")
    private String xxxs;

    /**
     * 入学方式 字典数据：普通入学。。
     */
    @ExcelProperty("入学方式")
    @Excel(name = "入学方式", width = 20, dicCode = "RXFS")
    private String rxfs;

    /**
     * 就读方式
     */
    @ExcelProperty("就读方式")
    @Excel(name = "就读方式", width = 20, dicCode = "JDFS")
    private String jdfs;

    /**
     * 港澳台侨外
     */
    @ExcelProperty("港澳台侨外")
    @Excel(name = "港澳台侨外", width = 20, dicCode = "GATQWM")
    private String gatqwm;
    /**
     * 政治面貌
     */
    @ExcelProperty("政治面貌")
    @Excel(name = "政治面貌", width = 20, dicCode = "ZZMMM")
    private String zzmmm;
    /**
     * 健康状况
     */
    @ExcelProperty("健康状况")
    @Excel(name = "健康状况", width = 20, dicCode = "healthy")
    private String jkzkm;
    /**
     * 籍贯
     */
    @ExcelProperty("籍贯")
    @Excel(name = "籍贯", width = 20)
    private String jg;
    /**
     * 籍贯所在省
     */
    @ExcelProperty("籍贯所在省")
    @Excel(name = "籍贯所在省", width = 20)
    private String jgszProvince;

    /**
     * 籍贯所在市
     */
    @ExcelProperty("籍贯所在市")
    @Excel(name = "籍贯所在市", width = 20)
    private String jgszCity;

    /**
     * 籍贯所在区县
     */
    @ExcelProperty("籍贯所在区县")
    @Excel(name = "籍贯所在区县", width = 20)
    private String jgszCounty;

    /**
     * 出生地
     */
    @ExcelProperty("出生地")
    @Excel(name = "出生地", width = 20)
    private String csd;

    /**
     * 出生地所在省
     */
    @ExcelProperty("出生地所在省")
    @Excel(name = "出生地所在省", width = 20)
    private String csdszProvince;

    /**
     * 出生地所在市
     */
    @ExcelProperty("出生地所在市")
    @Excel(name = "出生地所在市", width = 20)
    private String csdszCity;

    /**
     * 出生地所在区县
     */
    @ExcelProperty("出生地所在区县")
    @Excel(name = "出生地所在区县", width = 20)
    private String csdszCounty;

    /**
     * 户口所在地
     */
    @ExcelProperty("户口所在地")
    @Excel(name = "户口所在地", width = 20)
    private String hkszd;
    /**
     * 户口所在省
     */
    @ExcelProperty("户口所在省")
    @Excel(name = "户口所在省", width = 20)
    private String province;
    /**
     * 户口所在市
     */
    @ExcelProperty("户口所在市")
    @Excel(name = "户口所在市", width = 20)
    private String city;
    /**
     * 户口所在区
     */
    @ExcelProperty("户口所在区")
    @Excel(name = "户口所在区", width = 20)
    private String county;

    /**
     * 生源所在地
     */
    @ExcelProperty("生源所在地")
    @Excel(name = "生源所在地", width = 20)
    private String syszd;
    /**
     * 生源所在省
     */
    @ExcelProperty("生源所在省")
    @Excel(name = "生源所在省", width = 20)
    private String sheng;
    /**
     * 生源所在市
     */
    @ExcelProperty("生源所在市")
    @Excel(name = "生源所在市", width = 20)
    private String shi;
    /**
     * 生源所在区县
     */
    @ExcelProperty("生源所在区县")
    @Excel(name = "生源所在区县", width = 20)
    private String qu;

    /**
     * 户口性质 非农业户口
     */
    @ExcelProperty("户口性质")
    @Excel(name = "户口性质", width = 20, dicCode = "HKSZ")
    private String hksz;

    /**户口类别，同居住地类型*/
    @ExcelProperty("居住地类型")
    @Excel(name = "居住地类型", width = 20, dicCode = "residence")
    private String hklbm;

    /**
     * 户口详细地址
     */
    @ExcelProperty("户口详细地址")
    @Excel(name = "户口详细地址", width = 20)
    private String hkxxdz;

    /**
     * 户籍所属派出所
     */
    @ExcelProperty("户籍所属派出所")
    @Excel(name = "户籍所属派出所", width = 20)
    private String hjsspcs;
    /**
     * 毕业学校
     */
    @ExcelProperty("毕业学校")
    @Excel(name = "毕业学校")
    private String byxx;

    /**
     * 招生对象
     */
    @ExcelProperty("招生对象")
    @Excel(name = "招生对象", width = 20)
    private String zsdx;

    /**
     * 学生来源
     */
    @ExcelProperty("学生来源")
    @Excel(name = "学生来源", width = 20, dicCode = "XSLY")
    private String xsly;
    /**
     * 招生方式，同入学方式 字典数据：统招、提前招生
     */
    @ExcelProperty("招生方式")
    @Excel(name = "招生方式", width = 20, dicCode = "zsfs")
    private String zsfs;
    /**
     * 准考证号
     */
    @ExcelProperty("准考证号")
    @Excel(name = "准考证号", width = 20)
    private String zkzh;
    /**
     * 录取专业
     */
    @ExcelProperty("录取专业")
    @Excel(name = "录取专业", width = 20)
    private String lqzy;
    /**
     * 曾用名
     */
    @ExcelProperty("曾用名")
    @Excel(name = "曾用名", width = 20)
    private String cym;
    /**
     * 是否随迁子女 1是0否
     */
    @ExcelProperty("是否随迁子女")
    @Excel(name = "是否随迁子女", width = 20, dicCode = "SFSQZN")
    private String sfsqzn;
    /**
     * 考生特长
     */
    @ExcelProperty("考生特长")
    @Excel(name = "考生特长", width = 20)
    private String tc;
    /**
     * 联系人
     */
    @ExcelProperty("联系人")
    @Excel(name = "联系人", width = 20)
    private String lxr;
    /**联系电话*/
    @ExcelProperty("联系电话")
    @Excel(name = "联系电话", width = 20)
    private String lxdh;
    /**
     * 手机号码
     */
    @ExcelProperty("手机号码")
    @Excel(name = "手机号码", width = 20)
    private String xslxdh;

    /**电子邮箱 同 电子信箱*/
    @ExcelProperty("电子邮箱")
    @Excel(name = "电子邮箱", width = 20)
    private String dzxx;

    /**QQ号，同即时通讯号*/
    @ExcelProperty("QQ号")
    @Excel(name = "QQ号", width = 20)
    private String jstxh;
    /**家庭电话号码*/
    @ExcelProperty("家庭现地址")
    @Excel(name = "家庭电话号码", width = 20)
    private String jtlxdh;
    /**家庭现地址*/
    @ExcelProperty("家庭现地址")
    @Excel(name = "家庭现地址", width = 20)
    private String jtdz;

    /**
     * 家庭邮政编码
     */
    @ExcelProperty("家庭邮政编码")
    @Excel(name = "家庭邮政编码", width = 20)
    private String jtyzbm;

    /**
     * 乘火车区间
     */
    @ExcelProperty("乘火车区间")
    @Excel(name = "乘火车区间", width = 20)
    private String chcqj;

    /**
     * 是否建档立卡
     */
    @ExcelProperty("是否建档立卡")
    @Excel(name = "是否建档立卡", width = 20, dicCode = "SFJDLK")
    private String sfjdlk;
    /**
     * 是否低保
     */
    @ExcelProperty("是否低保")
    @Excel(name = "是否低保", width = 20, dicCode = "SFDB")
    private String sfdb;
    /**
     * 银行账号，同银行卡号
     */
    @ExcelProperty("银行账号")
    @Excel(name = "银行账号", width = 20)
    private String yhkh;

    /**
     * 国籍/地区
     */
    @ExcelProperty("国籍/地区")
    @Excel(name = "国籍/地区", width = 20)
    private String gj;

    /**
     * 是否享受国家助学金
     */
    @ExcelProperty("是否享受国家助学金")
    @Excel(name = "是否享受国家助学金", width = 20, dicCode = "SFSSGJZXJ")
    private String sfssgjzxj;

    /**
     * 助学金月发放标准
     */
    @ExcelProperty("助学金月发放标准")
    @Excel(name = "助学金月发放标准", width = 20)
    private BigDecimal zxjffbz;
    /**
     * 宗教信仰
     */
    @ExcelProperty("宗教信仰")
    @Excel(name = "宗教信仰", width = 20)
    private String zjxy;
    /**
     * 备注
     */
    @ExcelProperty("备注")
    @Excel(name = "备注", width = 20)
    private String remark;
    /**
     * 家庭成员1姓名
     */
    @ExcelProperty("家庭成员1姓名")
    @Excel(name = "家庭成员1姓名", width = 20)
    private String name1;
    /**
     * 成员1关系
     */
    @ExcelProperty("成员1关系")
    @Excel(name = "成员1关系", width = 20, dicCode = "GXM")
    private String gxm1;

    /**成员1是否监护人*/
    @ExcelProperty("成员1是否监护人")
    @Excel(name = "成员1是否监护人", width = 20, dicCode = "SFJHR")
    private String sfjhr1;

    /**成员1身份证件类型*/
    @ExcelProperty("成员1身份证件类型")
    @Excel(name = "成员1身份证件类型", width = 20, dicCode = "SFZJLXM")
    private String sfzjlxm1;

    /**成员1身份证件号*/
    @ExcelProperty("成员1身份证件号")
    @Excel(name = "成员1身份证件号", width = 20)
    private String sfzjh1;

    /**成员1联系电话*/
    @ExcelProperty("成员1联系电话")
    @Excel(name = "成员1联系电话", width = 20)
    private String phone1;
    /**家庭成员2姓名*/
    @ExcelProperty("家庭成员2姓名")
    @Excel(name = "家庭成员2姓名", width = 20)
    private String name2;
    /**成员2关系*/
    @ExcelProperty("成员2关系")
    @Excel(name = "成员2关系", width = 20, dicCode = "GXM")
    private String gxm2;

    /**成员2是否监护人*/
    @ExcelProperty("成员2是否监护人")
    @Excel(name = "成员2是否监护人", width = 20, dicCode = "SFJHR")
    private String sfjhr2;

    /**成员2身份证件类型*/
    @ExcelProperty("成员2身份证件类型")
    @Excel(name = "成员2身份证件类型", width = 20, dicCode = "SFZJLXM")
    private String sfzjlxm2;

    /**成员2身份证件号*/
    @ExcelProperty("成员2身份证件号")
    @Excel(name = "成员2身份证件号", width = 20)
    private String sfzjh2;

    /**成员2联系电话*/
    @ExcelProperty("成员2联系电话")
    @Excel(name = "成员2联系电话", width = 20)
    private String phone2;

    /**家庭类别*/
    @ExcelProperty("家庭类别")
    @Excel(name = "家庭类别", width = 20, dicCode = "JTLB")
    private String jtlb;

    /**
     * 血型
     */
    @ExcelProperty("血型")
    @Excel(name = "血型", width = 20, dicCode = "XX")
    private String xx;

}
